Po Lu [Fri, 4 Aug 2023 06:29:55 +0000 (14:29 +0800)]
Optimize creation of multibyte menu items on Android
* src/androidvfs.c (android_verify_jni_string): Move to
android.c.
* src/android.c (android_verify_jni_string): New function.
(android_build_string): Forgo encoding menu text if TEXT is a
multibyte string that's also a valid JNI string.
* src/android.h: Update prototypes.
Po Lu [Fri, 4 Aug 2023 00:32:05 +0000 (08:32 +0800)]
Avoid encoding commonplace characters in tree names
* java/org/gnu/emacs/EmacsService.java (getDocumentTrees): Don't
encode some characters that need not be escaped within file
names.
Po Lu [Thu, 3 Aug 2023 23:50:56 +0000 (07:50 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Stefan Kangas [Thu, 3 Aug 2023 17:12:49 +0000 (19:12 +0200)]
Register more Ruby files in auto-mode-alist
* lisp/progmodes/ruby-mode.el (auto-mode-alist): Add fastlane and
Caxlsx files.
Eli Zaretskii [Thu, 3 Aug 2023 14:04:41 +0000 (17:04 +0300)]
; * test/lisp/uniquify-tests.el (uniquify-home): Delete (bug#62621).
Po Lu [Thu, 3 Aug 2023 12:14:28 +0000 (20:14 +0800)]
* src/fileio.c (check_vfs_filename): Revert earlier change.
Po Lu [Thu, 3 Aug 2023 11:50:23 +0000 (19:50 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Michael Albinus [Thu, 3 Aug 2023 11:17:02 +0000 (13:17 +0200)]
Improve SELinux handling in Tramp
* lisp/net/tramp-sh.el (tramp-stat-file-attributes-with-selinux)
(tramp-stat-directory-files-and-attributes-with-selinux): New defconst.
(tramp-do-file-attributes-with-ls)
(tramp-do-file-attributes-with-stat)
(tramp-do-directory-files-and-attributes-with-stat): Return also
SELinux context.
(tramp-remote-selinux-p, tramp-do-copy-or-rename-file): Adapt docstring.
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file)
(tramp-sudoedit-remote-selinux-p): Adapt docstring.
(tramp-sudoedit-file-attributes-with-selinux): New defconst.
(tramp-sudoedit-handle-file-attributes): Use it.
* lisp/net/tramp.el (tramp-convert-file-attributes):
Extract SELinux context.
Felicián Németh [Sat, 15 Jul 2023 10:02:49 +0000 (12:02 +0200)]
Eglot: send version in clientInfo (bug#62198)
* lisp/progmodes/eglot.el (eglot--version): New defconst.
(eglot--connect): Use it.
Stefan Kangas [Thu, 3 Aug 2023 09:56:42 +0000 (11:56 +0200)]
Add test for align-regexp
* test/lisp/align-tests.el (align-regexp): New test.
* test/lisp/align-resources/align-regexp.erts: New file.
* test/lisp/align-resources/c-mode.erts: Add new test case.
Manuel Giraud [Sat, 29 Jul 2023 08:59:32 +0000 (10:59 +0200)]
Revert thumbnail naming for 'per-directory' storage method
* lisp/image/image-dired-util.el (image-dired-thumb-name): Revert
to "filename.thumb.jpg" for 'per-directory' storage. (Bug#61394)
* lisp/image/image-dired.el (image-dired-thumbnail-storage): Fix
documentation.
Eli Zaretskii [Thu, 3 Aug 2023 08:40:44 +0000 (11:40 +0300)]
Revert "Fix image-dired-utils-tests after
83b6a8a5147 (bug#61394)"
This reverts commit
5efc7b22cecc0cf1e7dd2bbbc26400dba35e33ea.
It is no longer needed, see bug#61394.
Mattias Engdegård [Thu, 3 Aug 2023 07:57:33 +0000 (09:57 +0200)]
; * lisp/mail/footnote.el (footnote-hebrew-numeric-regex): dedup rx
This is a cosmetic change that silences a new Relint complaint;
the resulting regexp remains unchanged.
Eli Zaretskii [Thu, 3 Aug 2023 08:07:39 +0000 (11:07 +0300)]
; Better help-echo for Customize menu items
* lisp/menu-bar.el (menu-bar-custom-menu): Better help-echo for
Customize menu items. (Bug#64871)
Eli Zaretskii [Thu, 3 Aug 2023 07:56:35 +0000 (10:56 +0300)]
; Fix last change
* lisp/faces.el (faces--string-with-color, read-color): Doc fixes.
* doc/lispref/minibuf.texi (High-Level Completion): Fix markup and
wording. (Bug#64725)
Helmut Eller [Thu, 20 Jul 2023 14:27:34 +0000 (16:27 +0200)]
Improve interactive prompting for face colors
When displaying the completion candidates, show how the face would
look with the new foreground/background.
* lisp/faces.el (faces--string-with-color): New helper,
factored out from 'defined-colors-with-face-attributes'.
(defined-colors-with-face-attributes): Use it.
(read-color): Add optional argument FACE and pass
it to 'faces--string-with-color.'
(read-face-attribute): Call 'read-color' with more appropriate
foreground and face arguments.
* doc/lispref/minibuf.texi (High-Level Completion): Describe
the intention behind the arguments FOREGROUND and FACE of
'read-color'. (Bug#64725)
Eli Zaretskii [Thu, 3 Aug 2023 07:28:58 +0000 (10:28 +0300)]
; * lisp/progmodes/cperl-mode.el (cperl-method-call): Doc fix.
Po Lu [Thu, 3 Aug 2023 06:50:05 +0000 (14:50 +0800)]
Isolate fchmodat within the Android VFS layer
* src/android.h: Update prototypes.
* src/androidvfs.c (unix_vfs_ops, android_unix_chmod, afs_vfs_ops)
(android_afs_chmod, content_vfs_ops, android_content_chmod)
(authority_vfs_ops, android_authority_chmod, saf_root_vfs_ops)
(android_saf_root_chmod, saf_tree_vfs_ops, android_saf_tree_chmod)
(saf_file_vfs_ops, saf_new_vfs_ops, android_saf_new_chmod)
(root_vfs_ops): Add `chmod' to the list of functions implemented
by each vnode.
(android_fchmodat): New function.
* src/fileio.c (Fset_file_modes): Use `emacs_fchmodat'.
* src/lisp.h:
* src/sysdep.c (emacs_fchmodat): Delegate to android_fchmodat on
Android.
Stefan Kangas [Wed, 2 Aug 2023 19:54:16 +0000 (21:54 +0200)]
Support css-ts-mode in align.el
* lisp/align.el (align-rules-list): Add css-ts-mode.
Stefan Kangas [Wed, 2 Aug 2023 07:25:26 +0000 (09:25 +0200)]
Support python-ts-mode in align.el
* lisp/align.el (align-dq-string-modes, align-sq-string-modes)
(align-open-comment-modes, align-rules-list): Use python-base-mode
instead of python-mode.
Stefan Kangas [Thu, 3 Aug 2023 03:45:13 +0000 (05:45 +0200)]
Add latex-mode tests for align.el
Po Lu [Thu, 3 Aug 2023 02:41:40 +0000 (10:41 +0800)]
Update Android port
* java/org/gnu/emacs/EmacsSafThread.java (CacheToplevel):
(EmacsSafThread):
(DocIdEntry):
(getCache):
(pruneCache):
(cacheDirectoryFromCursor):
(run):
(documentIdFromName1):
(statDocument1):
(openDocumentDirectory1):
(openDocument1): Introduce a file status cache and populate
it with files within directories as they are opened.
* java/org/gnu/emacs/EmacsService.java (createDocument):
(createDirectory):
(moveDocument): Invalidate the file status cache wherever
needed.
* src/fileio.c (check_vfs_filename):
(Fset_file_modes): Permit `set-file-modes' to silently fail
on asset and content files.
Po Lu [Thu, 3 Aug 2023 00:25:47 +0000 (08:25 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Stefan Kangas [Wed, 2 Aug 2023 22:48:23 +0000 (00:48 +0200)]
Add python-mode tests for align.el
* test/lisp/align-tests.el (align-python): New test.
* test/lisp/align-resources/python-mode.erts: New file.
Harald Jörg [Wed, 2 Aug 2023 21:53:42 +0000 (23:53 +0200)]
cperl-mode.el: Subroutine names are fontified correctly in all places
Subroutine names are fontified as subroutine names even if the name is also
the name of a builtin (fixing an ancient unreported bug). Subroutine name
are just comments in comment and pod (fixing a bug introduced recently)
* lisp/progmodes/cperl-mode.el (cperl-init-faces): Move
fontification of sub declarations before that of builtins. Don't
override existing faces when fontifying subroutine declarations.
Don't fontify method calls even if the sub names match those of
builtins.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-fontify-sub-names):
New tests with a subroutine name in several surroundings.
* test/lisp/progmodes/cperl-mode-resources/sub-names.pl: New resource
for the new test.
Stefan Kangas [Wed, 2 Aug 2023 21:26:52 +0000 (23:26 +0200)]
; Prefer HTTPS to HTTP in more links
Stefan Kangas [Wed, 2 Aug 2023 19:57:15 +0000 (21:57 +0200)]
Add nvim and ncmpcpp to eshell-visual-commands
* lisp/eshell/em-term.el (eshell-visual-commands): Add nvim and
ncmpcpp.
Stefan Kangas [Wed, 2 Aug 2023 19:50:47 +0000 (21:50 +0200)]
Make use-package-statistics-mode non-interactive
* lisp/use-package/use-package-core.el
(use-package-statistics-mode): Make non-interactive; it only works in
buffers prepared by use-package-report.
Stefan Kangas [Wed, 2 Aug 2023 19:49:19 +0000 (21:49 +0200)]
Add let-alist to alist shortdoc group
* lisp/emacs-lisp/shortdoc.el (alist): Add let-alist.
Stefan Kangas [Wed, 2 Aug 2023 06:50:14 +0000 (08:50 +0200)]
Refer to align-highlight-rule in face docstrings
* lisp/align.el (align-highlight-change-face)
(align-highlight-nochange-face): Refer to align-highlight-rule.
Stefan Kangas [Tue, 1 Aug 2023 17:28:53 +0000 (19:28 +0200)]
Fix link to info node in prin1 docstring
* src/print.c (Fprin1): Fix linking to info node in docstring.
Stefan Kangas [Wed, 2 Aug 2023 19:46:55 +0000 (21:46 +0200)]
Don't hardcode ruby version in interpreter-mode-alist
* lisp/progmodes/ruby-mode.el (interpreter-mode-alist): Don't hardcode
ruby version. This adds support for modern versions of Ruby like
"ruby2.7", instead of the previously hardcoded "ruby1.9".
Stefan Kangas [Wed, 2 Aug 2023 19:42:54 +0000 (21:42 +0200)]
use-package: Mark Emacs 25 support code obsolete
* lisp/use-package/use-package-core.el
(use-package-font-lock-keywords): Make obsolete.
(font-lock-add-keywords): Only call for Emacs 25 or older.
Mattias Engdegård [Mon, 24 Jul 2023 07:44:01 +0000 (09:44 +0200)]
rx: better not-wordchar and (syntax word) translation
* lisp/emacs-lisp/rx.el:
Add tables of legacy syntax.
(rx--translate-symbol):
Translate the legacy construct `not-wordchar` as (not wordchar), which
is more intuitively obvious.
* lisp/emacs-lisp/rx.el (rx--translate-syntax):
Generate the shorter \w and \W instead of \sw and \Sw.
* test/lisp/emacs-lisp/rx-tests.el (rx-atoms, rx-syntax, rx-not):
Adapt tests.
Mattias Engdegård [Sun, 30 Jul 2023 19:53:06 +0000 (21:53 +0200)]
rx performance improvements
* lisp/emacs-lisp/rx.el (rx--generate-alt):
Treat the intervals and classes lists separately without joining,
to reduce allocation. Handle special cases first.
(rx--union-intervals):
Implement directly instead of using intersection and complement.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Adapt test, as some
character alternatives are now slightly different.
(rx--complement-intervals, rx--union-intervals)
(rx--intersect-intervals): New unit tests.
Mattias Engdegård [Wed, 2 Aug 2023 09:21:37 +0000 (11:21 +0200)]
; * lisp/emacs-lisp/shortdoc.el (list): Move misplaced `remq` entry
Po Lu [Wed, 2 Aug 2023 01:09:53 +0000 (09:09 +0800)]
Fix reporting of key events containing SYM and META
* doc/emacs/android.texi (Android)::(What is Android?):
(Android Startup, Android File System, Android Environment)
(Android Windowing, Android Fonts, Android Troubleshooting):
Improve section titles.
(Android Windowing): Describe the relation between keyboard
modifiers reported by Android and those in key events.
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Clear META_SYM_ON and META_META_MASK when retrieving ASCII
characters.
* src/androidgui.h: Add ANDROID_META_MASK.
* src/androidterm.c (android_android_to_emacs_modifiers)
(android_emacs_to_android_modifiers): Transform META to Alt, and
vice versa.
Po Lu [Wed, 2 Aug 2023 00:10:59 +0000 (08:10 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Michael Albinus [Tue, 1 Aug 2023 18:25:34 +0000 (20:25 +0200)]
Mark Tramp test :unstable
* test/lisp/net/tramp-tests.el (tramp-test47-read-password):
Mark it :unstable.
Michael Albinus [Tue, 1 Aug 2023 18:24:44 +0000 (20:24 +0200)]
Add more `tramp-suppress-trace' properties in Tramp
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Use `tramp-archive-handle-file-symlink-p'.
(tramp-archive-handle-file-symlink-p): New defun.
* lisp/net/tramp-cache.el (tramp-loaddefs): Don't require.
(tramp-get-hash-table, tramp-cache-print)
(tramp-dump-connection-properties): Declare `tramp-suppress-trace'
property.
* lisp/net/tramp-cmds.el (tramp-cleanup-dired-buffer-p)
(tramp-delete-tainted-remote-process-buffer-function):
Declare `tramp-suppress-trace' property.
* lisp/net/tramp-compat.el (tramp-loaddefs): Require.
(tramp-error): Declare.
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler): Fix typo.
* lisp/net/tramp-integration.el (tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay-regexp)
(tramp-rfn-eshadow-update-overlay): Declare `tramp-suppress-trace'
property.
* lisp/net/tramp-message.el (tramp-compat): Require (instead of
tramp-loaddefs.el).
(tramp-compat-string-replace, tramp-compat-temporary-file-directory):
Don't declare.
(tramp-byte-run--set-suppress-trace): Move to tramp.el.
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p, tramp-message)
(tramp-debug-button-action, tramp-debug-link-messages)
(tramp-debug-message-buttonize): Declare `tramp-suppress-trace' property.
* lisp/net/tramp.el (tramp-byte-run--set-suppress-trace):
New defun, moved from tramp-message.el.
(tramp-file-name-unify, tramp-file-name-equal-p)
(tramp-tramp-file-p, tramp-find-method, tramp-find-user)
(tramp-find-host, tramp-dissect-file-name)
(tramp-ensure-dissected-file-name, tramp-buffer-name)
(tramp-delete-temp-file-function, tramp-time-diff):
Declare `tramp-suppress-trace' property.
Mattias Engdegård [Tue, 1 Aug 2023 17:25:39 +0000 (19:25 +0200)]
; * lisp/emacs-lisp/package.el: doc string copy-edit
Po Lu [Tue, 1 Aug 2023 13:06:06 +0000 (21:06 +0800)]
Update Android port
* doc/emacs/android.texi (Android File System): Describe how to
access real files named /assets or /contents if so required.
* java/org/gnu/emacs/EmacsService.java (validAuthority):
* src/android.c (android_init_emacs_service):
* src/android.h: New function.
* src/androidvfs.c (android_saf_valid_authority_p): New
function. Wrap the Java function.
(android_saf_root_stat, android_saf_root_access): Don't return
success if no authority by vp->authority's name exists.
(android_saf_tree_from_name): Check validity of string data
before giving it to JNI.
Stefan Kangas [Tue, 1 Aug 2023 12:34:09 +0000 (14:34 +0200)]
Add tresitter modes to ibuffer-saved-filters
* lisp/ibuf-ext.el (ibuffer-saved-filters): Add tresitter modes.
Stefan Kangas [Tue, 1 Aug 2023 12:26:51 +0000 (14:26 +0200)]
Add align tests for CSS
* test/lisp/align-tests.el (align-css): New test.
* test/lisp/align-resources/css-mode.erts: New file.
Stefan Kangas [Tue, 1 Aug 2023 10:59:32 +0000 (12:59 +0200)]
Use `M-x align` toml rule also for toml-ts-mode
* lisp/align.el (align-rules-list): Add toml-ts-mode to TOML rule.
Stefan Kangas [Tue, 1 Aug 2023 10:58:06 +0000 (12:58 +0200)]
Make toml-ts-mode-indent-offset into natnum
* lisp/textmodes/toml-ts-mode.el (toml-ts-mode-indent-offset):
Make into natnum instead of integer.
Stefan Kangas [Tue, 1 Aug 2023 10:18:12 +0000 (12:18 +0200)]
Fix font locking of booleans in conf-toml-mode
* lisp/textmodes/conf-mode.el (conf-toml-mode): Do not use case
folding when font locking.
* test/lisp/textmodes/conf-mode-tests.el (conf-test-toml-mode):
Expand test.
Stefan Kangas [Tue, 1 Aug 2023 08:38:45 +0000 (10:38 +0200)]
Add `M-x align` support to conf-toml-mode
* lisp/align.el (align-rules-list): Add rule for conf-toml-mode.
* test/lisp/align-resources/conf-toml-mode.erts: New file.
* test/lisp/align-tests.el (align-toml): New test.
Stefan Kangas [Mon, 31 Jul 2023 11:13:33 +0000 (13:13 +0200)]
Convert align-tests to use erts
Mattias Engdegård [Mon, 31 Jul 2023 16:52:49 +0000 (18:52 +0200)]
Fix vacuous conf-mode-test
* test/lisp/textmodes/conf-mode-tests.el (conf-test-javaprop-mode):
Attempt to give the test some meaning by repairing regexps,
and fixing it so that it passes.
Stefan Kangas [Tue, 1 Aug 2023 07:55:01 +0000 (09:55 +0200)]
Remove IE9 support tag from HTML5 skeleton
This is no longer recommended in 2023, and in any case seems like
overkill in an otherwise bare-bones HTML5 template.
Ref: https://stackoverflow.com/a/
6771584
Po Lu [Tue, 1 Aug 2023 06:54:30 +0000 (14:54 +0800)]
Micro-optimize PUSHW/PUSHB
* src/sfnt.c (CHECK_STACK_AVAILABLE): New macro.
(PUSH):
(PUSH_UNCHECKED): Always define to unchecked versions,
even if TEST.
(PUSH2_UNCHECKED): New macro.
(NPUSHB):
(NPUSHW):
(PUSHB):
(PUSHW): Check the number of remaining stack elements
once.
(stack_overflow_test_args): Expect zero stack arguments.
Po Lu [Tue, 1 Aug 2023 02:34:33 +0000 (10:34 +0800)]
Fix stipple support on PGTK
* src/image.c (image_create_pattern_from_pixbuf): Remove function.
(image_bitmap_to_cr_pattern): New function.
(image_create_bitmap_from_data):
(image_create_bitmap_from_file): Create patterns with the correct
mask values directly from bitmap data. Also, don't rely on GDK
to read XPMs, as that format isn't supported anymore.
* src/pgtkterm.c (pgtk_bitmap_icon): Disable already nonfunctional
code.
(pgtk_display_x_warning): Wrap warning message.
* src/pgtkterm.h (struct pgtk_bitmap_record): Remove `img' field.
(bug#64969)
Po Lu [Tue, 1 Aug 2023 00:44:24 +0000 (08:44 +0800)]
; * src/android.c (ANDROID_THROW): Remove unused macro.
Po Lu [Tue, 1 Aug 2023 00:31:14 +0000 (08:31 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Michael Albinus [Mon, 31 Jul 2023 17:40:11 +0000 (19:40 +0200)]
Optimizations on Tramp symlink handling
* lisp/net/tramp-sh.el (cl-seq): Require.
(tramp-perl-file-truename): Print also whether the file is a symlink.
(tramp-bundle-read-file-names): Rename from
`tramp-vc-registered-read-file-names'. Print also the
`file-directory-p: value.
(tramp-sh-handle-make-symbolic-link): Combine two commands. Use
`tramp-skeleton-make-symbolic-link'.
(tramp-sh-handle-file-truename): Read also "file-symlink-marker"
property.
(tramp-sh-handle-file-directory-p): Simplify if-let clause.
(tramp-sh-handle-file-name-all-completions): Simplify command.
(tramp-bundle-read-file-names): New defun.
(tramp-sh-handle-vc-registered, tramp-get-remote-path): Use it.
(tramp-open-shell): Flush "scripts" connection property.
(tramp-open-connection-setup-interactive-shell): Combine two commands.
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Use `tramp-skeleton-make-symbolic-link'.
* lisp/net/tramp.el (tramp-skeleton-make-symbolic-link): Rename from
`tramp-skeleton-handle-make-symbolic-link'.
(tramp-handle-file-symlink-p): Check file property
"file-symlink-marker".
Ulrich Müller [Fri, 28 Jul 2023 21:04:43 +0000 (23:04 +0200)]
Drop duplicate vietnamese-tcvn coding system
* lisp/language/vietnamese.el (vietnamese-vscii): Update docstring.
(vietnamese-tcvn, tcvn, tcvn-5712): Make them aliases of
vietnamese-vscii.
("Vietnamese"): Drop vietnamese-tcvn from coding-system values.
Update docstring.
* etc/NEWS: Announce this change.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:24 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
3560dfdb868 ; Fix backport of help-fns--analyze-function bug fix
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29
525d05c1b8a Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
29ef2157116 ; * lisp/textmodes/paragraphs.el: Remove leftover comment.
80c9f491fc8 Update to Org 9.6.7-5-gd1d0c3
735f3700f65 ; * src/character.c (Fstring_width): Fix last change.
bf83fdba9e3 ; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
1198cdb5567 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
2b8796eea19 Fix rx wrong-code bug: ranges starting with ^
ba60070b81c Backport: Fix some tree-sitter :match regexps
092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
7b9e83d3cf9 Fix bug#64923
0002d4f3166 Avoid spurious whitespace in the modeline of emacsclient ...
96d52f89444 Fix function help for advised aliases (bug#64797)
71419a60c37 Avoid crashes due to invalid 'mode-line-format'
b2cb6e82160 ; Better documentation of HOME on MS-Windows
54e98b5f9bd ; Clarify documentation of 'server-after-make-frame-hook'
d13029cdcde Avoid crashes under 'which-key-mode'
cb1f7db2490 ; Minor documentation fixes
4a687bcc20d Bump Emacs version
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commits were skipped:
2b8796eea19 Fix rx wrong-code bug: ranges starting with ^
ba60070b81c Backport: Fix some tree-sitter :match regexps
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29
092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi...
7b9e83d3cf9 Fix bug#64923
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commits were skipped:
0002d4f3166 Avoid spurious whitespace in the modeline of emacsclient ...
96d52f89444 Fix function help for advised aliases (bug#64797)
71419a60c37 Avoid crashes due to invalid 'mode-line-format'
b2cb6e82160 ; Better documentation of HOME on MS-Windows
54e98b5f9bd ; Clarify documentation of 'server-after-make-frame-hook'
d13029cdcde Avoid crashes under 'which-key-mode'
cb1f7db2490 ; Minor documentation fixes
4a687bcc20d Bump Emacs version
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
Merge from origin/emacs-29
a9b28224af0 ; Last-minute changes befor releasing 29.1
7da1cee56b3 Update CMake support due to upstream changes (bug#64922)
c2d95dd00e6 Remove nullptr named node from c++-ts-mode (bug#64818)
4e977136d31 Make compat check also check typescript
906ecf442c4 ; * etc/HISTORY: Fix the 28.3 entry.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:23 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
31cef9a4eac ; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29
82d6bb66fea Update HISTORY and ChangeLog.4
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
7d1737071fb Bump Emacs version
Eli Zaretskii [Mon, 31 Jul 2023 15:11:22 +0000 (11:11 -0400)]
Merge from origin/emacs-29
6b00e1a197d Update AUTHORS and ChangeLog.4
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
76a142e265d ; * etc/NEWS: Prepare for Emacs 29.1 release.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
Merge from origin/emacs-29
ee20b50dfed ; * lisp/progmodes/typescript-ts-mode.el (treesit-query-c...
2215298d90b Update JSX support due to upstream changes (bug#64647)
235561a2ccc Update TSX support due to upstream changes (bug#64647)
12ab82d3b35 ; Fix customization form of 'bookmark-watch-bookmark-file'
d149a4dc428 ; Improve documentation of automatic addition to minibuff...
42a99627948 ; Improve documentation of 'last-command-event'
101455cb853 ; * lisp/subr.el (ignore, always): Doc fixes. (Bug#64776)
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
6152a411905 Unbreak build with CHECK_STRUCTS.
Eli Zaretskii [Mon, 31 Jul 2023 15:11:21 +0000 (11:11 -0400)]
Merge from origin/emacs-29
c692bbc6596 Revert "Improve commentary in nsfns.m"
bb885928d73 Fix NetBSD build --with-sound
39873d6d5d1 Fix typo in pre-filter for underline property
Mattias Engdegård [Mon, 31 Jul 2023 14:14:07 +0000 (16:14 +0200)]
; Fix backport of help-fns--analyze-function bug fix
* lisp/help-fns.el (help-fns--analyze-function):
Add back the NOERROR argument to function-alias-p, needed because
Emacs 29 doesn't prevent the creation of circular function aliases.
This fixes a failure in help-fns-tests.
Po Lu [Mon, 31 Jul 2023 12:33:27 +0000 (20:33 +0800)]
Update Android port
* src/sfnt.c (ISECT): Micro-optimize this instruction.
* src/sfntfont.c (sfnt_parse_style): Avoid GC safety problem.
Eli Zaretskii [Mon, 31 Jul 2023 11:42:27 +0000 (14:42 +0300)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eshel Yaron [Sun, 30 Jul 2023 08:22:26 +0000 (11:22 +0300)]
; * lisp/textmodes/paragraphs.el: Remove leftover comment.
* lisp/textmodes/paragraphs.el: Remove a comment referring to code
that was removed in
cf605d5. (Bug#64947)
Po Lu [Mon, 31 Jul 2023 09:59:26 +0000 (17:59 +0800)]
; Update Android port
* src/sfntfont.c (sfnt_parse_style): Fix misworded commentary.
Po Lu [Mon, 31 Jul 2023 06:18:12 +0000 (14:18 +0800)]
Initialize Android API level earlier
* java/org/gnu/emacs/EmacsNative.java (EmacsNative):
* java/org/gnu/emacs/EmacsNoninteractive.java (main):
* java/org/gnu/emacs/EmacsService.java (run):
* java/org/gnu/emacs/EmacsThread.java (run):
* src/android.c (initEmacs, setEmacsParams): Set
`android_api_level' within setEmacsParams, not in initEmacs.
* src/androidvfs.c: Pacify compiler warnings.
Po Lu [Mon, 31 Jul 2023 02:50:12 +0000 (10:50 +0800)]
Implement cross-directory SAF rename operations
* java/org/gnu/emacs/EmacsService.java (renameDocument): Don't
catch UnsupportedOperationException; handle ENOSYS in
android_saf_rename_document instead.
(moveDocument): New function.
* lisp/subr.el (y-or-n-p): Always change the text conversion
style.
* src/android.c (android_init_emacs_service)
(android_exception_check_4): New function.
* src/android.h: Update Java function table.
* src/androidvfs.c (android_saf_rename_document): Handle ENOSYS
here by setting errno to EXDEV.
(android_saf_move_document): New function.
(android_document_id_from_name): Take const `dir_name'.
(android_saf_tree_rename): Use delete-move-rename to implement
cross-directory renames.
Po Lu [Mon, 31 Jul 2023 00:42:03 +0000 (08:42 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Kyle Meyer [Sun, 30 Jul 2023 20:52:11 +0000 (16:52 -0400)]
Update to Org 9.6.7-5-gd1d0c3
Eli Zaretskii [Sun, 30 Jul 2023 19:09:05 +0000 (22:09 +0300)]
; * src/character.c (Fstring_width): Fix last change.
Eli Zaretskii [Sun, 30 Jul 2023 17:10:54 +0000 (20:10 +0300)]
; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
Mattias Engdegård [Sun, 30 Jul 2023 16:42:13 +0000 (18:42 +0200)]
Avoid face attribute warnings in themes
* etc/themes/deeper-blue-theme.el (class):
* etc/themes/leuven-dark-theme.el (class):
* etc/themes/leuven-theme.el (class):
* etc/themes/manoj-dark-theme.el (manoj-dark):
* etc/themes/whiteboard-theme.el (class):
Use `unspecified` instead of `nil` as attribute for :background and
:foreground to silence HANDLE_INVALID_NIL_VALUE warning.
Eli Zaretskii [Sun, 30 Jul 2023 16:19:32 +0000 (12:19 -0400)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Mattias Engdegård [Sun, 30 Jul 2023 13:30:38 +0000 (15:30 +0200)]
Fix rx wrong-code bug: ranges starting with ^
(rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
Change it so that we get "[_-a^]" instead.
* lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
`^` occurring first in a non-negated character alternative.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.
(cherry picked from commit
5f5d668ac7917d61e9366fe0c3efd7b542671c3d)
Mattias Engdegård [Sun, 30 Jul 2023 13:30:38 +0000 (15:30 +0200)]
Fix rx wrong-code bug: ranges starting with ^
(rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
Change it so that we get "[_-a^]" instead.
* lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
`^` occurring first in a non-negated character alternative.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.
Basil L. Contovounesios [Tue, 13 Jun 2023 12:53:31 +0000 (13:53 +0100)]
Backport: Fix some tree-sitter :match regexps
This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted. This backport follows the Emacs 29.1
release (bug#64019).
The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9]. Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode.
(cherry picked from commit
cd8d3f3379ec7179fac4bb8e9c40658be15a64f6)
Eli Zaretskii [Sun, 30 Jul 2023 15:08:27 +0000 (18:08 +0300)]
; * admin/make-tarball.txt: Update based on latest experiences.
Eli Zaretskii [Sun, 30 Jul 2023 15:05:00 +0000 (11:05 -0400)]
; Fix admin/upload-manuals script
* admin/upload-manuals (html_mono): Chdir to the right directory
before committing.
(html_node): Avoid computing $stale in newly-created or empty
directories.
Michael Albinus [Sun, 30 Jul 2023 14:53:37 +0000 (16:53 +0200)]
; Fixh last change
* lisp/net/tramp-message.el (tramp-file-name-host-port)
(tramp-file-name-user-domain): Declare.
(tramp-message): Remove declare form. Add `tramp-suppress-trace'
function property.
* lisp/net/tramp.el (tramp-file-name-user-domain)
(tramp-file-name-host-port): Remove ;;;###tramp-autoload cookie.
(tramp-file-name-unify, tramp-dissect-file-name)
(tramp-ensure-dissected-file-name): Remove declare form. Add
`tramp-suppress-trace' function property.
Earl Hyatt [Fri, 21 Jul 2023 01:44:41 +0000 (21:44 -0400)]
Allow default values in 'map-let' and the pcase 'map' form
* lisp/emacs-lisp/map.el (map-let, map)
(map--make-pcase-bindings): Add a third argument for specifying a
default value, like in 'map-elt'. (Bug#49407)
* lisp/emacs-lisp/map.el (map--make-pcase-bindings): Clarify that keys
that aren't found aren't ignored, they actually get the value
nil (unless the new default value is given). The overall pattern can
still fail to match if the sub-pattern for the unfound key doesn't
match nil.
* test/lisp/emacs-lisp/map-tests.el (test-map-let-default)
(test-map-plist-pcase-default, test-map-pcase-matches): Add tests,
including for the above item.
Po Lu [Sun, 30 Jul 2023 13:18:54 +0000 (21:18 +0800)]
Fix bug#64923
* src/xfns.c (Fx_create_frame): Prevent cairo surface from being
left without a desired size. (bug#64923)
Michael Albinus [Sun, 30 Jul 2023 13:10:48 +0000 (15:10 +0200)]
Finish Tramp reorganization
* lisp/net/tramp-compat.el (subr-x): Don't require.
(top): Use `function-put' but `put'.
* lisp/net/tramp-gvfs.el (tramp-dbus-function): Add declare form.
* lisp/net/tramp-message.el (tramp-byte-run--set-suppress-trace):
New function. Add it to `defun-declarations-alist'.
(tramp-setup-debug-buffer, tramp-debug-buffer-name)
(tramp-get-debug-buffer, tramp-get-debug-file-name)
(tramp-trace-buffer-name, tramp-debug-message, tramp-message):
Add declare form.
(tramp-debug-buffer-name): Use `tramp-string-empty-or-nil-p'.
(tramp-test-message): New defun.
* lisp/net/tramp.el (top): Use `function-put' but `put'.
(tramp-file-name-user-domain, tramp-file-name-host-port)
(tramp-file-name-port-or-default, tramp-file-name-unify)
(tramp-dissect-file-name, tramp-ensure-dissected-file-name)
(tramp-dissect-hop-name, tramp-make-tramp-file-name)
(tramp-signal-hook-function, tramp-post-process-creation)
(tramp-read-passwd, tramp-read-passwd-without-cache)
(tramp-clear-passwd): Add declare form.
(tramp-string-empty-or-nil-p): Add ;;;###tramp-autoload cookie.
(tramp-test-message): Move to tramp-message.el.
Ulrich Müller [Fri, 28 Jul 2023 10:21:42 +0000 (12:21 +0200)]
Avoid spurious whitespace in the modeline of emacsclient frames
* lisp/bindings.el (mode-line-client): Compute 'help-echotext
property in advance. (Bug#58183)
(cherry picked from commit
8c3338f6ba354218aee12c223d778be4180f892b)
Mattias Engdegård [Thu, 27 Jul 2023 14:13:54 +0000 (16:13 +0200)]
Fix function help for advised aliases (bug#64797)
* lisp/help-fns.el (help-fns--analyze-function):
For aliases, use the base function name if at the end of the chain.
This fixes a regression introduced in
d30fde6b0cc.
Reported by Michael Heerdegen.
(cherry picked from commit
024bd1f09099ae186442001a75e578638070e296)
Eli Zaretskii [Thu, 27 Jul 2023 12:34:38 +0000 (15:34 +0300)]
Avoid crashes due to invalid 'mode-line-format'
* src/xdisp.c (display_mode_element, redisplay_window_error):
Don't take XCAR of what can be Qnil. (Bug#64893)
(cherry picked from commit
7ea3f39deec3d54914077455e70605a14eb7d200)
Eli Zaretskii [Thu, 27 Jul 2023 06:51:39 +0000 (09:51 +0300)]
; Better documentation of HOME on MS-Windows
* doc/emacs/custom.texi (Find Init): Add footnote about HOME on
MS-Windows. (Bug#64871)
(cherry picked from commit
d59630e591cd49780e6554d1025c1879bb89680b)
Eli Zaretskii [Thu, 27 Jul 2023 06:37:03 +0000 (09:37 +0300)]
; Clarify documentation of 'server-after-make-frame-hook'
* doc/lispref/frames.texi (Creating Frames):
* lisp/server.el (server-after-make-frame-hook): Clarify
documentation of 'server-after-make-frame-hook'. (Bug#64873)
(cherry picked from commit
e650a14f64b9ebea69615c19ca4466c14af35857)
Eli Zaretskii [Tue, 25 Jul 2023 17:38:01 +0000 (20:38 +0300)]
Avoid crashes under 'which-key-mode'
* src/keyboard.c (Fthis_single_command_keys): Don't allow calls to
Fvector with negative first argument. (Bug#64857)
(cherry picked from commit
65834b8f8d53402517da7fe2446f5bac0aa30c39)
Eli Zaretskii [Tue, 25 Jul 2023 13:49:18 +0000 (16:49 +0300)]
; Minor documentation fixes
* src/character.c (Fstring_width): Doc fix.
* doc/emacs/trouble.texi (Understanding Bug Reporting): Fix typo
(bug#64854).
(cherry picked from commit
f6e4e77d23d0be79be83ef41c3ea9acd5c983af2)